﻿#pragma once

#include "svgshape.h"
#include "xml.h"

class SvgReadError : public std::runtime_error
{
public:
	SvgReadError(const std::string& msg) : std::runtime_error(msg) {}
	SvgReadError(const char* msg) : std::runtime_error(msg) {}
	SvgReadError(const QString& msg) : std::runtime_error(msg.toLatin1()) {}
};

struct SvgCanvasInfo
{
	double width = 0;
	double height = 0;
	QColor background;
	SvgShapeVec shapes;
};

SvgCanvasInfo ReadSvg(const xml::Elements& elems);
